The present invention relates generally to data communication systems and more particularly relates to a cumulative decoder and transceiver constructed therefrom for providing robust communications over noisy media such as power line based networks.
Digital data communications systems are currently being used more and more to transmit and receive data between remote locations. The reliability and integrity of the data being communicated is an important part of any data communications system. in the ideal case, the data being transmitted should be identical to the data being received at the receiving location. In reality, however, the data received at the receiving location is oftentimes corrupted with respect to the original data transmitted. Any data communication errors are usually attributed to one or more of the transmission equipment, transmission medium or receiving equipment. With respect to the transmission medium, these types of data errors are usually attributed to the less than ideal conditions associated with the particular transmission medium.
For example, communication systems designed to transmit and receive using power line carrier techniques are subjected to the non-optimum conditions imposed by the power line medium. The power line medium is an unstable medium characterized by much pulse noise, continuous wave (CW) interference and impedance modulation. Depending on the length of the symbols used to transmit packets, the channel may not be assumed to be static during a packet time.
In many communications systems, especially those designed for use with the power line, some kind of error correcting code (ECC) is typically employed. Data communications systems often rely on error detection or error correction schemes to detect the occurrence of a data error or to correct a data error. As is known by practical tests, the most critical problem imposed by the power line that a modem must deal with is impedance modulation. The power line impedance modulation may be modeled as signal elimination at a 20% duty cycle periodically at a rate of 100 Hz for 50 Hz AC lines or 120 Hz for 60 Hz AC lines. Thus, any error correcting code employed must be robust enough to overcome this problem.
Often, however, it is desirable to achieve even higher levels of reliability over and above the level of reliability attainable from the particular components making up the communications system, e.g., receivers transmitter, error correcting code, acquisition scheme, etc. For example, the reliability is determined largely by the individual reliabilities that are characteristic of the modulation scheme, any error correcting code used, the acquisition scheme, etc.
In addition, in most systems, it is likely that the reliabilities of the various components making up the communications system are not equal. Thus, some components are able to achieve higher levels of reliability that others. It is desirable that the reliability of transmission be held as close as possible to a steady state value throughout the transmission of the message, e.g., packet, frame, etc. In particular, it is preferable that the reliability of acquisition and that of data reception be the same throughout the packet. Once a decision has been made to get into a packet (i.e. proceed with reception), it is desirable to have a reasonable assuredness that the packet will be received correctly.
There is thus a need for a mechanism of increasing the reliability of transmission in a communications system to achieve highly robust communications. In addition, there is a need for a mechanism for achieving the same level of reliability of correct reception for all portions of a packet transmission.
The present invention is a novel robust communications scheme whereby a repetition code at the transmitter and an associated cumulative decoder at the receiver are used to increase the reliability of transmission in a communications system. The robust communications scheme of the present invention is effective to increase the reliability of transmission by repetitively transmitting each data segment a number of times in accordance with a repetition code and subsequently collecting the received energy at the receiver over an accordingly longer period of time. Accumulating the received energy over a longer period of time at the receiver yields a marked improvement in the signal to noise ratio (SNR) of the receiver.
Note that in many cases, one skilled in the communication arts can easily modify an existing transceiver design to incorporate the present invention in order to achieve a boost in the reliability of transmission. In the transmitter, a repetition code is implemented whereby each transmit segment is transmitted a predetermined number of times in accordance with the repetition code that is known to both the transmitter and receiver. At the receiver, the existing decoder is modified to accumulate the received energy over a plurality of transmit segments thus improving the reliability of transmission. Note that the tradeoff for improved transmission reliability is a corresponding decrease in data rate due to the use of the repetition code.
An application of the present invention is in systems whereby it is desirable to equalize the reliability of the various portions of the packet. For example, consider a packet acquisition algorithm that is capable of acquiring synchronization with four symbol errors out of seven symbols wherein the data ECC encoding/decoding scheme is able to correct three symbol errors out of seven. Thus, the difference in performance of the acquisition algorithm and the ability of the ECC to correctly receive the data is approximately 6 dB. In one embodiment, the robust mode of the present invention comprises the combination of error correction code and a repetition code (including associated cumulative decoder in the receiver) which functions to collect the energy of the received signal over a longer period of time, i.e. several codewords, symbols, bits, etc. thus yielding a marked improvement in receiver SNR.
Many aspects of the invention may be constructed as software objects that execute in embedded devices as firmware, software objects that execute as part of a software application on a computer system running either a real time operating system such as WinCE, Symbian, etc. or a non-real time operating system such as Windows, UNIX, LINUX, etc., or as soft core realized VHDL circuits embodied in an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA) or functionally equivalent discrete hardware components.
There is therefore provided in accordance with the present invention a method of cumulatively decoding input metrics corresponding to a demodulated received signal originally transmitted as a sequence of segments repeated a predetermined number of times, the method comprising the steps of summing the input metrics with weighted metrics so as to generate cumulative metrics therefrom, applying a hard decision algorithm to the cumulative metrics and generating hard decisions and updated metrics associated with the hard decisions in response to the cumulative metrics, accumulating the updated metrics associated with the hard decisions over a plurality of segments and applying a weighting function so as to generate the weighted metrics therefrom and repeating the steps of summing, applying and accumulating one or more times.
There is also provided in accordance with the present invention a cumulative decoder for decoding input metrics corresponding to a demodulated received signal originally transmitted as a sequence of segments repeated a predetermined number of times comprising summing means adapted to sum the input metrics with cumulative metrics generating summed metrics therefrom, search means for applying a hard decision algorithm to the summed metrics and generating hard decisions and updated metrics associated with the hard decisions in response thereto, accumulating means for accumulating the updated metrics generated by the search means over a plurality of segments so as to generate the cumulative metrics therefrom and wherein the updated metrics are generated and accumulated over the predetermined number of segments.
There is further provided in accordance with the present invention a cumulative decoder for decoding input correlation values corresponding to a demodulated received signal originally transmitted as a sequence of codewords repeated a one or more times comprising summing means adapted to sum the input correlation values with cumulative correlation values so as to yield summed correlation values therefrom, search means adapted to perform a maximum search on the summed correlation values and to generate one or more maximum values corresponding to hard decisions and updated correlation values in response thereto, accumulating means for accumulating the updated correlation values generated by the search means over a plurality of codewords so as to generate the cumulative correlation values therefrom and wherein for each output codeword, the cumulative correlation values are accumulated over one or more codewords.
There is also provided in accordance with the present invention a method of cumulative decoding input correlation values corresponding to a demodulated received signal originally transmitted as a sequence of codewords repeated one or more times comprising summing the input correlation values with cumulative correlation values so as to yield summed correlation values therefrom, performing a maximum search on the summed correlation values and generating one or more maximum values corresponding to hard decisions and updated correlation values in response thereto, accumulating the updated correlation values generated by the search means over a plurality of codewords so as to generate the cumulative correlation values therefrom and wherein for each output codeword, the cumulative correlation values are accumulated over one or more codewords.
There is further provided in accordance with the present invention a method of robust communications in a shared communications media based network wherein transmit data is encoded using a predetermined error correcting code (ECC) and repeatedly transmitting the encoded data N times, the method comprising the steps of generating a demodulated signal from a signal received over the network, iteratively decoding the demodulated signal N times to generate cumulative metrics, thereby accumulating energy in the received signal over a period of time N times longer than the original transmit data, performing soft decision decoding on the cumulative metrics so as to generate output data therefrom and wherein N is a positive integer.
There is also provided in accordance with the present invention a modem transceiver for transmitting and receiving signals in a shared communications media based network comprising a coupling circuit for generating a receive signal received over the network and for outputting a transmit signal onto the network, a transmitter adapted to modulate data to be transmitted in accordance with a modulation scheme so as to generate a transmit waveform therefrom, the transmitter comprising a segment repeater adapted to repeatedly transmit each input segment a predetermined number of times, a receiver adapted to demodulate the receive signal in accordance with the modulation scheme so as to generate a receive data signal therefrom, the receiver comprising a cumulative decoder for decoding input metrics corresponding to a demodulated received signal originally transmitted as a sequence of segments repeated one or more times, the cumulative decoder comprising summing means adapted to sum the input metrics with cumulative metrics to yield summed metrics therefrom, search means for applying a hard decision algorithm to the summed metrics and generating hard decisions and updated metrics associated with the hard decisions in response thereto, accumulating means for accumulating the updated metrics generated by the search means over a plurality of segments so as to generate the cumulative metrics therefrom. wherein for each output segment generated, updated metrics are generated and accumulated over one or more segments, a media access control (MAC) circuit adapted to interface an application processor to the shared communications media and the application processor adapted to control the operation of the transmitter, receiver and MAC and to provide an interface between the MAC and an external host.